<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>博客系统列表页面</title>
    <link rel="stylesheet" href="./css/common.css">
    <link rel="stylesheet" href="./css/blog_list.css">
</head>

<body>
    <!-- 导航栏 -->
    <div class="nav">
        <img src="./imag/logo.jpg" alt="博客图标">
        <span class="title">博客系统</span>
        <!-- 用于将图片 和 超链接分割开 -->
        <div class="splacer"></div>
        <a href="./blog_list.html">主页</a>
        <a href="./blog_edit.html">写博客</a>
        <a href="./blog_login.html">注销</a>
    </div>
    <!-- 页面的主体部分 -->
    <div class="container">
        <div class="container-left">
            <!-- 主要包括头像，文章信息等 -->
            <div class="card">
                <!-- 头像 -->
                <img src="./imag/头像.png" alt="用户头像">
                <!-- 用户名 -->
                <h3>甘宸しぐれ</h3>
                <a href="https://gitee.com/little-bit-tang-chen">gitee 地址</a>
                <div class="counter">
                    <span>文章</span>
                    <span>专栏</span>
                </div>
                <div class="counter">
                    <span>2</span>
                    <span>1</span>
                </div>
            </div>
        </div>
        <div class="container-right">
            <!-- 表示一篇博客 -->
            <div class="blog">
                <!-- 博客标题 -->
                <div class="title">【高级IO】- Reactor 模式</div>
                <!-- 博客发表日期 -->
                <div class="date">2023-10-29</div>
                <div class="desc">​
                    Reactor 模式的定义
                    Reactor反应堆模式，也叫做分发者模式，或者通知者模式，是一种将就绪事件派发给对应的服务处理程序的事件处理模式。
                ​</div>
                <!-- 查看博客详情按钮 -->
                <a href="#">☞ 文章详情 ☜</a>
            </div>
            <!-- 表示一篇博客 -->
            <div class="blog">
                <!-- 博客标题 -->
                <div class="title">【高级IO】- 多路转接之 poll | epoll</div>
                <!-- 博客发表日期 -->
                <div class="date">2023-10-29</div>
                <div class="desc">​
                    I/O多路转接 - poll
                    • poll 系统调用也可以让程序同时监视多个文件描述符上的事件是否就绪，和 select 的定位是一样的，适用场景也是一样的。
                ​</div>
                <!-- 查看博客详情按钮 -->
                <a href="#">☞ 文章详情 ☜</a>
            </div>
            <!-- 表示一篇博客 -->
            <div class="blog">
                <!-- 博客标题 -->
                <div class="title">【高级IO】- 五种 IO 模型 | 多路转接 - select</div>
                <!-- 博客发表日期 -->
                <div class="date">2023-10-29</div>
                <div class="desc">​
                    IO多路复用,最核心在与能够同时等待多个文件描述符的就绪状态。
                    · 使用 recvfrom 等接口需要进行等，可以将所有的 “等” 的工作交给多路转接接口(select,poll,epoll)
                    · 多路转接接口一次 “等” 多个文件描述符，因此能够将 “等” 的时间进行重叠，当数据就绪后再调用对应的 recvfrom 等函数进行数据的拷贝，此时这些函数就能直接进行拷贝，而不需要进行 “等”
                    操作。
                ​</div>
                <!-- 查看博客详情按钮 -->
                <a href="#">☞ 文章详情 ☜</a>
            </div>
            <!-- 表示一篇博客 -->
            <div class="blog">
                <!-- 博客标题 -->
                <div class="title">【高级IO】- 五种 IO 模型 | 多路转接 - select</div>
                <!-- 博客发表日期 -->
                <div class="date">2023-10-29</div>
                <div class="desc">​
                    IO多路复用,最核心在与能够同时等待多个文件描述符的就绪状态。
                    · 使用 recvfrom 等接口需要进行等，可以将所有的 “等” 的工作交给多路转接接口(select,poll,epoll)
                    · 多路转接接口一次 “等” 多个文件描述符，因此能够将 “等” 的时间进行重叠，当数据就绪后再调用对应的 recvfrom 等函数进行数据的拷贝，此时这些函数就能直接进行拷贝，而不需要进行 “等”
                    操作。
                    ​</div>
                <!-- 查看博客详情按钮 -->
                <a href="#">☞ 文章详情 ☜</a>
            </div>
            <!-- 表示一篇博客 -->
            <div class="blog">
                <!-- 博客标题 -->
                <div class="title">【高级IO】- 五种 IO 模型 | 多路转接 - select</div>
                <!-- 博客发表日期 -->
                <div class="date">2023-10-29</div>
                <div class="desc">​
                    IO多路复用,最核心在与能够同时等待多个文件描述符的就绪状态。
                    · 使用 recvfrom 等接口需要进行等，可以将所有的 “等” 的工作交给多路转接接口(select,poll,epoll)
                    · 多路转接接口一次 “等” 多个文件描述符，因此能够将 “等” 的时间进行重叠，当数据就绪后再调用对应的 recvfrom 等函数进行数据的拷贝，此时这些函数就能直接进行拷贝，而不需要进行 “等”
                    操作。
                    ​</div>
                <!-- 查看博客详情按钮 -->
                <a href="#">☞ 文章详情 ☜</a>
            </div>
            <!-- 表示一篇博客 -->
            <div class="blog">
                <!-- 博客标题 -->
                <div class="title">【高级IO】- 五种 IO 模型 | 多路转接 - select</div>
                <!-- 博客发表日期 -->
                <div class="date">2023-10-29</div>
                <div class="desc">​
                    IO多路复用,最核心在与能够同时等待多个文件描述符的就绪状态。
                    · 使用 recvfrom 等接口需要进行等，可以将所有的 “等” 的工作交给多路转接接口(select,poll,epoll)
                    · 多路转接接口一次 “等” 多个文件描述符，因此能够将 “等” 的时间进行重叠，当数据就绪后再调用对应的 recvfrom 等函数进行数据的拷贝，此时这些函数就能直接进行拷贝，而不需要进行 “等”
                    操作。
                    ​</div>
                <!-- 查看博客详情按钮 -->
                <a href="#">☞ 文章详情 ☜</a>
            </div>
            <!-- 表示一篇博客 -->
            <div class="blog">
                <!-- 博客标题 -->
                <div class="title">【高级IO】- 五种 IO 模型 | 多路转接 - select</div>
                <!-- 博客发表日期 -->
                <div class="date">2023-10-29</div>
                <div class="desc">​
                    IO多路复用,最核心在与能够同时等待多个文件描述符的就绪状态。
                    · 使用 recvfrom 等接口需要进行等，可以将所有的 “等” 的工作交给多路转接接口(select,poll,epoll)
                    · 多路转接接口一次 “等” 多个文件描述符，因此能够将 “等” 的时间进行重叠，当数据就绪后再调用对应的 recvfrom 等函数进行数据的拷贝，此时这些函数就能直接进行拷贝，而不需要进行 “等”
                    操作。
                    ​</div>
                <!-- 查看博客详情按钮 -->
                <a href="#">☞ 文章详情 ☜</a>
            </div>
        </div>
    </div>
</body>

</html>